package com.pipayshop.domain;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;

/**
* 商品订单详情表
* @TableName shop_order_detail
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ShopOrderDetail implements Serializable {

    /**
    * 
    */
    @NotNull(message="[]不能为空")
    @ApiModelProperty("")
    private Long id;
    /**
    * 关联的订单id
    */
    @Size(max= 11,message="编码长度不能超过11")
    @ApiModelProperty("关联的订单id")
    @Length(max= 11,message="编码长度不能超过11")
    private String orderId;
    /**
    * 商品id
    */
    @Size(max= 11,message="编码长度不能超过11")
    @ApiModelProperty("商品id")
    @Length(max= 11,message="编码长度不能超过11")
    private String commodityId;
    /**
    * 下单时的pi单价
    */
    @ApiModelProperty("下单时的pi单价")
    private BigDecimal piPrice;
    /**
    * 下单时的单价
    */
    @ApiModelProperty("下单时的单价")
    private BigDecimal price;
    /**
    * 优惠后的单价
    */
    @ApiModelProperty("优惠后的单价")
    private BigDecimal discount;
    /**
    * 该商品的下单数量
    */
    @ApiModelProperty("该商品的下单数量")
    private Integer number;
    /**
    * 商品的规格
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("商品的规格")
    @Length(max= 255,message="编码长度不能超过255")
    private String commoditySpecification;
    /**
    * 商品的展示图路径
    */
    @Size(max= 150,message="编码长度不能超过150")
    @ApiModelProperty("商品的展示图路径")
    @Length(max= 150,message="编码长度不能超过150")
    private String avatarImg;
    /**
    * 创建时间
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("创建时间")
    @Length(max= 255,message="编码长度不能超过255")
    private Date createTime;
    /**
    * 0：为删除1：逻辑删除
    */
    @ApiModelProperty("0：为删除1：逻辑删除")
    private Integer delFlag;

    //商品名称
    @TableField(exist = false)
    private String commodityName;

    private Integer skuId;
}
